package algebra;

public class Complex implements IField<Complex> {
	
	// TODO: Rausfinden, wie wirklich final
	//public static final Complex i = new Complex(0.0,1.0);
	
	private double re;
	private double im;
	
	public int x;

	public Complex()
	{}
	
	public Complex(double re, double im) {
		this.re = re;
		this.im = im;
		
		this.x = 300;
	}
	
	public Complex add(Complex r) {
		return new Complex(this.re+r.re, this.im+r.im);
	}

	public Complex multiply(Complex r) {
		return new Complex(this.re*r.re-this.im*r.im, this.re*r.im +this.im*r.re);
	}

	public Complex substract(Complex r) {
		// TODO Auto-generated method stub
		return null;
	}
	
	public Complex divide(Complex k) {
		// TODO Auto-generated method stub
		return null;
	}

	
	
	public Complex getAdditiveInverse() {
		// TODO Auto-generated method stub
		return null;
	}

	public Complex getMultiplicativeInverse() {
		// TODO Auto-generated method stub
		return null;
	}
	
	
	
	
	
	// **************** Constanten
	
	public static Complex i(){
		return new Complex(0,1);
	}
	
	public Complex getZero() {
		return new Complex(0,0);
	}

	public Complex getOne() {
		return new Complex(1,0);
	}

}
